草庐IT

mysql GRANT + WHERE

全部标签

c# - EntityFramework 多个 Where

我想知道,如果我一个接一个地使用多个Where(...)方法,EntityFramework是否足够聪明,可以将它组合到结果查询中。假设我有:context.Items.Where(item=>item.Number>0).Where(item=>item.Number生成的SQL查询会不会和我写的一样:context.Items.Where(item=>item.Number>0&&item.Number多个Where子句有没有后台优化? 最佳答案 是的,有。执行此操作的不是EntityFramework。编写数据库查询实际上是S

c# - Linq 多重 where 查询

我在构建相当繁重的linq查询时遇到了问题。基本上我有一种情况,我需要在循环中执行子查询以过滤掉从数据库返回的匹配项的数量。示例代码在下面的循环中:foreach(GuidparentinparentAttributes){varsubQuery=fromscindb.tSearchIndexesjoinaindb.tAttributesonsc.AttributeGUIDequalsa.GUIDjoinpcindb.tPeopleIndexesona.GUIDequalspc.AttributeGUIDwherea.RelatedGUID==parent&&userId==pc.CP

C# 动态 Linq : Implement "Like" in The Where Clause

所以我想为我的数据做一个通用的分类器。我有这段代码可以从数据库中获取数据,它将仅提取包含value的数据。usingSystem.Linq.Dynamic;publicstaticIQueryableSortList(stringsearchString,TypemodelType,IQueryablemodel){....stringtoStringPredicate=type==typeof(string)?propertyName+".Contains(@0)":propertyName+".ToString().Contains(@0)";model=model.Where(p

c# - NHibernate 高效删除使用 LINQ Where 条件

有一个NHibernate的存储库,带有这样的LINQ查询varq=fromxinSomeIQueryablewherex.A1==a1&&x.B1==b1selectx;是否有解决方案如何获取此WHERE过滤器并将其应用于“一次性删除”,这似乎只能通过HQL实现:varcmd=string.Format("deletefromSomeEntitywherex.A1='{0}'andx.B1={1}",a1,b1);session.CreateQuery(cmd).ExecuteUpdate(); 最佳答案 现在可以使用Nhiber

c# - Linq 性能 : should I first use `where` or `select`

我在内存中有一个很大的List,来自一个具有大约20个properties的类。我想仅根据一个property过滤此列表,对于特定任务我只需要该property的列表。所以我的查询是这样的:data.Select(x=>x.field).Where(x=>x=="desiredvalue").ToList()先使用Select还是使用Where哪个性能更好?data.Where(x=>x.field=="desiredvalue").Select(x=>x.field).ToList()如果这与我将数据保存在内存中的数据类型或字段类型有关,请告诉我。请注意,我也需要这些对象来执行其他任

c# - EventLogReader 和 EventRecord : Where's the Message?

我想查询远程机器上的应用程序事件日志,我求助于使用EventLogReader而不是EventLog因为它需要很长时间才能找到事件我需要EventLog。然而,尽管使用EventLogReader可以更快地找到事件,但我还是无法弄清楚我需要的信息在这个对象上到底在哪里……尤其是消息。publicstaticvoidLoad(){stringquery="*[System/Provider/@Name=\"SQLSERVERAGENT\"]";EventLogQueryelq=newEventLogQuery("Application",PathType.LogName,query);e

c# - 休眠 + QueryOver : filter with Where ignoring sensitive

我正在尝试使用QueryOver在nHibernate中构建一个简单的查询,但我希望它将所有内容转换为小写或忽略敏感信息:Domain.UserUser=Session.QueryOver().Where(x=>x.Login=="username").SingleOrDefault();我怎样才能做到这一点?更新:有人建议问题可能出在数据库的集合上,但我从来没有遇到过任何问题,这个脚本有效:Domain.UserUser=Session.CreateCriteria().Add(Expression.Eq("Login","username")).UniqueResult();

c# - Linq:只为 Where 和 OrderBy 调用相同的方法一次而不是两次?

我有一个简单的linq查询,我需要在一定距离内过滤商店,并根据距离计算结果排序,你懂的。因此,我暂时调用了两次GetDistance方法。如何优化代码以在每个商店只调用一次?doubledistance=50;varresult=stores.Where(s=>Helper.GetDistance(lat,lon,s.Lat,s.Lon)Helper.GetDistance(lat,lon,s.Lat,s.Lon)).ToList(); 最佳答案 一些人(我)觉得更容易阅读的与Yuriy的回答等价的是:doublemaxDistan

c# - LINQ: ...Where(x => x.Contains(以 "foo"开头的字符串 ))

给定以下类的集合:publicclassPost{...publicIListTags{get;set;}}有没有一种简单的方法可以使用LINQ获取所有包含以“foo”开头的标签的Post?varposts=newList{newPost{Tags=new[]{"fooTag","tag"}},newPost{Tags=new[]{"barTag","anyTag"}},newPost{Tags=new[]{"someTag","fooBarTag"}}};varpostsWithFooTag=posts.Where(x=>[somefancyLINQqueryhere]);posts

c# - 使用 linq 2 实体检查 where 子句的两个条件

嗨,我有一个名为products的表,其中包含列product_idprodcut_nameprodcut_price(valueslike1200,2000,3000,100)prodcut_desccategory_id(1,2,3,.....)另一个带有列的表格类别category_id(1,2,3.......)category_name(a,b,c....)实体名称是dbcontext...如何获得类别名称为“a”且产品价格为>500且我正在使用linqtoentities...请帮忙解决这个问题......一个......非常感谢.... 最佳答